package one.stand.request.essay;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import one.stand.request.BaseRequest;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 获客文章任务-任务相关的task开头方便定位
 * </p>
 *
 * @author luoyang
 * @since 2020-05-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="TaskCustomerModel对象", description="获客文章任务-任务相关的task开头方便定位")
public class TaskCustomerForm extends BaseRequest implements Serializable {
    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "获客任务id,有值是修改，无值是添加")
    private Long taskCustomerId;

    @ApiModelProperty(value = "任务名称",required = true)
    @NotNull(message = "任务名称不能为空")
    private String taskName;

    @ApiModelProperty(value = "所属公司",required = true)
    @NotNull(message = "所属公司不能为空")
    private Long companyId;

    @ApiModelProperty(value = "文章分享数量",required = true)
    @NotNull(message = "文章分享数量不能为空")
    private Integer shareNum = 0;

    @ApiModelProperty(value = "新增访客数量",required = true)
    @NotNull(message = "新增访客数量不能为空")
    private Integer visitNum = 0;

    @ApiModelProperty(value = "开始时间",required = true)
    @NotNull(message = "开始时间不能为空 时间格式:2020-02-02 00:11:11")
    private Date startTime;

    @ApiModelProperty(value = "结束时间",required = true)
    @NotNull(message = "结束时间不能为空 时间格式:2020-02-02 00:11:11")
    private Date endTime;

    //todo 增加定时器自动处理任务状态
    @ApiModelProperty(value = "任务状态 0进行中 1 未开始 2 已结束 ")
    private Integer state = 1;

    @ApiModelProperty(value = "创建者",required = true)
    @NotNull(message = "创建者不能为空")
    private Integer userId;

    @ApiModelProperty(value = "任务员工",required = true)
    @NotNull(message = "任务员工不能为空")
    private List<Integer> taskUsers;

    @ApiModelProperty(value = "任务id",required = true)
    @NotNull(message = "任务不能为空")
    private Integer dynamicId;


}
